A Refinement Proof of a Multiword LL/SC Object
نویسندگان
چکیده
The algorithm of Jayanti and Petrovic (ICDCS 2005) gives a wait-free implementation of load-linked/store-conditional (LL/SC) for multiword variables, given LL/SC actions on single words. The authors gave a behavioural proof of correctness. We present a refinement proof that has been verified with the proof assistant PVS. We give an improved algorithm which needs fewer single-word LL/SC registers and fewer shared multiword variables, and in which one single-word LL operation has been eliminated. We also present a pure version in which all accesses to the LL/SC variables are done by LL, SC, or VL.
منابع مشابه
A general lock-free algorithm using compare-and-swap
The compare-and-swap register (CAS) is a synchronization primitive for lock-free algorithms. Most uses of it, however, suffer from the so-called ABA problem. The simplest and most efficient solution to the ABA problem is to include a tag with the memory location such that the tag is incremented with each update of the target location. This solution, however, is theoretically unsound and has lim...
متن کاملEfficient Fetch-and-Increment
A Fetch&Inc object stores a non-negative integer and supports a single operation, fi, that returns the value of the object and increments it. Such objects are used in many asynchronous shared memory algorithms, such as renaming, mutual exclusion, and barrier synchronization. We present an efficient implementation of a wait-free Fetch&Inc object from registers and load-linked/store-conditional (...
متن کاملEfficiently Implementing a Large Number of LL/SC Objects
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have emerged as themost suitable synchronization instructions for the design of lock-free algorithms. However, current architectures donot support these instructions; instead, they support either CAS (e.g., UltraSPARC, Itanium) or restricted versions ofLL/SC (e.g., POWER4, MIPS, Alpha). T...
متن کاملUnsupervised Multiword Segmentation of Large Corpora using Prediction-Driven Decomposition of n-grams
We present a new, efficient unsupervised approach to the segmentation of corpora into multiword units. Our method involves initial decomposition of common n-grams into segments which maximize within-segment predictability of words, and then further refinement of these segments into a multiword lexicon. Evaluating in four large, distinct corpora, we show that this method creates segments which c...
متن کاملFast Implementations of Shared Objects using Fetch&Add
In this paper we present efficient implementations of shared objects from Fetch&Add registers. We present the first snapshot implementation which has time complexity O(1) for both scan and update. Using this implementation we can directly obtain an active set with constant time complexity for all three operations, join, leave and getSet. We also present the first universal construction which ha...
متن کامل